﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SalePartial.Model;
using System.Data;
using System.Data.SqlClient;

namespace SalePartial.IDAL
{
    public interface IXPNotification
    {
        int Delete(Guid NotifyID);

        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int DeleteByCreateUserID(Guid CreateUserID);

        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int DeleteByRecipientUserID(Guid RecipientUserID);

        //<DataObjectMethod(DataObjectMethodType.Delete)> _
        int DeleteDynamic(string v_whereCondition);

        //<DataObjectMethod(DataObjectMethodType.Insert)> _
        int Insert(XPNotificationInfo info);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectAll();

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectByCreateUserID(Guid CreateUserID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectByRecipientUserID(Guid RecipientUserID);

        //<DataObjectMethod(DataObjectMethodType.Fill)> _
        DataSet SelectDynamic(string v_whereCondition, string v_orderByExpression);

        //<DataObjectMethod(DataObjectMethodType.Fill)> _
        DataSet SelectPaged();

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        SqlDataReader SelectReader(Guid NotifyID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        SqlDataReader SelectReaderByCreateUserID(Guid CreateUserID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        SqlDataReader SelectReaderByRecipientUserID(Guid RecipientUserID);

        //<DataObjectMethod(DataObjectMethodType.Select)> _
        DataSet SelectSingle(Guid NotifyID);

        //<DataObjectMethod(DataObjectMethodType.Update)> _
        int Update(XPNotificationInfo info);
    }
}
